﻿
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using KDS.Mes.Mes.Onlines.Dtos;
using KDS.Mes.Dto;

namespace KDS.Mes.Mes.Onlines
{
	/// <summary>
    /// 上线信息服务接口
    /// </summary>
    public interface IOnlineAppService : IApplicationService
    {
        #region 上线信息管理
        PagedResultDto<OnlineListDto> GetPagedOnlines(GetOnlineInput input);
        /// <summary>
        /// 根据查询条件获取上线信息分页列表
        /// </summary>
        Task<PagedResultDto<OnlineListDto>> GetPagedOnlinesAsync(GetOnlineInput input);

        /// <summary>
        /// 通过Id获取上线信息信息进行编辑或修改 
        /// </summary>
        Task<GetOnlineForEditOutput> GetOnlineForEditAsync(NullableIdDto<int> input);

		  /// <summary>
        /// 通过指定id获取上线信息ListDto信息
        /// </summary>
		Task<OnlineListDto> GetOnlineByIdAsync(EntityDto<int> input);



        /// <summary>
        /// 新增或更改上线信息
        /// </summary>
        Task CreateOrUpdateOnlineAsync(CreateOrUpdateOnlineInput input);





        /// <summary>
        /// 新增上线信息
        /// </summary>
        Task<OnlineEditDto> CreateOnlineAsync(OnlineEditDto input);

        /// <summary>
        /// 更新上线信息
        /// </summary>
        Task UpdateOnlineAsync(OnlineEditDto input);

        /// <summary>
        /// 删除上线信息
        /// </summary>
        Task DeleteOnlineAsync(EntityDto<int> input);

        /// <summary>
        /// 批量删除上线信息
        /// </summary>
        Task BatchDeleteOnlineAsync(List<int> input);

        #endregion

#region Excel导出功能



         /// <summary>
        /// 获取上线信息信息转换为Excel
        /// </summary>
        /// <returns></returns>
        Task<FileDto> GetOnlineToExcel(GetOnlineInput input);

#endregion





    }
}
